package com.ltg.urban.domain.project.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ltg.framework.util.http.PageInfo;
import com.ltg.framework.util.http.Result;
import com.ltg.urban.domain.project.data.request.ApplyCapitalReq;
import com.ltg.urban.domain.project.data.request.ApproveCapitalReq;
import com.ltg.urban.domain.project.data.response.CapitalDetailPageResp;
import com.ltg.urban.domain.project.entity.UrbanProject;
import com.ltg.urban.domain.project.entity.UrbanProjectCapital;
import com.ltg.urban.domain.project.entity.UrbanProjectCapitalDetail;

/**
 * <p> ClassName: UrbanProjectCapitalDetailService </p>
 * <p> Package: com.ltg.urban.domain.project.service </p>
 * <p> Description: </p>
 * <p></p>
 *
 * @Author: LTG
 * @Create: 2023/3/1 - 11:07
 * @Version: v1.0
 */
public interface UrbanProjectCapitalDetailService extends IService<UrbanProjectCapitalDetail> {
    PageInfo<CapitalDetailPageResp> pageList(Page<CapitalDetailPageResp> buildFromRequest);


    Result<UrbanProjectCapitalDetail> employeeApplyCapital(Long capitalId, ApplyCapitalReq req);


    Result<UrbanProjectCapitalDetail> approveCapital(Long detailId, ApproveCapitalReq req);

    Result<UrbanProjectCapitalDetail> anewApply(Long detailId, ApplyCapitalReq req);

}
